Tail-Recursion Elimination on Conditional Types